<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        /*  变量的赋值机制 
        如果自己的作用域有这个变量 先在自己的作用域 直接赋值 
        如果自己的作用域没有 那么就到父级作用域内查找
        这个变量,如果有直接复制 如果没有继续查找  
        以此类推 到全局作用域window 如果还没有 
        就把这个当做全局变量 赋值  
        */
       /*  var num = 100;
        function test1(){
            var num = 200;
            console.log(num); // 200 
            num = 666;
            console.log(num); // 666
        }

        // console.log(num);// 100  */

        //test()
    /*     var num = 100;
        function test1(){
            console.log(num); // 100
            num = 666;
            console.log(num); // 666
        }

        
        test1();
        console.log(num);// 666 */


        function test1(){
           // console.log(num); // num is not defined
            num = 666; // 把num当做成一个全局变量进行赋值  
            console.log(num); //  666
        }

        
        test1();
        console.log(num);// 666
    </script>
</body>
</html>